iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

第一天有先建立了專案
第二天規劃了資料表

那今天目標就先以看到畫面來做收尾!

動手啦!

Accounting

rails g model Accounting name amount:integer flow_type:integer ledger_id:integer
invoke  active_record
      create    db/migrate/20230918082505_create_accountings.rb
      create    app/models/accounting.rb
      invoke    test_unit
      create      test/models/accounting_test.rb
      create      test/fixtures/accountings.yml

Ledger

同理生成即可

rails g model Ledger name amount:integer flow_type:integer

最後跑一下 rails db:migtate
(這邊 migrate 前手動改了一下 integer -> bigint,因為 command 不支援 bigint

ActiveRecord::Schema[7.0].define(version: 2023_09_18_083655) do
  create_table "accountings", force: :cascade do |t|
    t.string "name"
    t.integer "amount"
    t.integer "flow_type"
    t.bigint "ledger_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ledgers", force: :cascade do |t|
    t.string "name"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end
end

等一下! 肖年a 記得用 Git 版控存檔!

另外自動生成很方便,但有注意到的話會發現 Rails 有幫忙做額外的事情
以 Test 的東西來說是目前不需要的,所以目前只會留下 Migration 跟 Model


下一步?

今天的目標可是要看到一點簡單的畫面啊!

所以下一步當然就是 MVC 中的 VC 啦

Ledger

 rails g controller ledgers 
      create  app/controllers/ledgers_controller.rb
      invoke  erb
      create    app/views/ledgers
      invoke  test_unit
      create    test/controllers/ledgers_controller_test.rb
      invoke  helper
      create    app/helpers/ledgers_helper.rb
      invoke    test_unit

於是乎 Rails 又幫我把 View & Controller 做出來了

Accounting

同理也把 Accounting 做出來

rails g controller accountings

然後隨意做一下 LedgersController 的 Index 求個畫面就好

# app/controllers/ledgers_controller.rb

class LedgersController < ApplicationController
  def index; end
end
# app/views/ledgers/index.html.erb

<div>Ledgers Index</div>

所以我說那個 Route 呢

因為是 CRUD,所以就先用 resources 套一個基本款的路徑給他就可以了 030

# config/routes.rb

Rails.application.routes.draw do
  resources :ledgers
end

這樣就看到畫面啦!

https://ithelp.ithome.com.tw/upload/images/20230918/20142040R1LYmSFKSs.png

明天就來針對 CRUD 做調整囉


上一篇
Day 2 - 初期發想與規劃
下一篇
Day 4 - Rails 初學必會!Let's CRUD!
系列文
RoR 從零到 MVP,用三十天開通被動收入之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言